<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var username="陈晓";
        var age=34;
        // var obj1={
        //     username:"陈晓",
        //     age:34,
        //     say:function(){
        //         console.log("hello");
        //     }
        // };

        var obj1={
            username:username,
            age:age,
            say:function(){
                console.log("hello");
            }
        };
        console.log(obj1);
        // ES6中的对象构成简化语法:
            // 1.对象构成时，如果属性值来自于外部的其他变量，且外部变量名和属性名一致，定义时只需要定义变量名即可
            // 2.对象构建时，如果存在方法定义，可以直接省略关键字

        var obj2={
            username,
            age,
            say(){
                console.log("hello");
            }
        };
        for(var key in obj2){
            // console.log(obj2.key);//不能这样获取，此时会将key作为属性名，但是对象中没有属性名叫做key的
            console.log(obj2[key]);
        }
    </script>
</head>
<body>
    
</body>
</html>